java系 热部署

之前有段时间一直在找 jreble 的免费替代方案。

用jetty自带的scan

hot swap
https://gist.github.com/naaman/1053217

给jvm打补丁

主要用的 dcevmHotswapAgent

打补丁方法参考 http://ssw.jku.at/dcevm/binaries/

然后再搭配hotswapAgent启动

不过这个由于不能支持main方法启动的jetty server,所以放弃了,tomcat我自己没测过。

spring-loaded

spring出品,貌似grails就用的这个。不用给jvm打补丁,只要加一个agent。

至少我目前测试了main方法启动的jetty,和tomcat。

tomcat的话需要记得修改配置文件 (server.xml),将reloadable 设置为false。

1
java -javaagent:/Users/xxxx/Documents/springloaded-1.2.1.RELEASE.jar -noverify SomeJavaClass

注意事项

机器性能顶得住的话可以将 IDEA 弄成和elipse一样 ctrl+s 就能编译 参考这里

reference

http://javainformed.blogspot.jp/2014/01/jrebel-free-alternative.html

http://stackoverflow.com/questions/7998669/redeploy-alternatives-to-jrebel

http://stackoverflow.com/questions/15118681/intelij-tomcat-spring-loaded

http://padcom13.blogspot.jp/2012/12/did-you-noticed-spring-loaded-is-here.html

http://vitalflux.com/configure-springloaded-eclipse-dynamic-web-project/

avatar

lelouchcr's blog